Go to: Related nodes. Attributes.
If inLevel[n] is true, then output[n] will be true.
There is additional control for overriding the values
that pass through the node.
You must initialize all multi attributes to the same, correct size.
In the example below, notice that the displayLevel attribute is
explicitly initialized to have the same number of elements as
the output attribute.
For example, you want to simulate an LED pixel board where
an array of lights/objects turn on and off. You can connect each object's
visibility to the chooser node and control the chooser node
programmatically. See the example.
Use the displayLevel attribute to override the connection between
the inLevel and output attributes. This is useful if
there are connections on inLevel and you want to override
the incoming values. There are three values for displayLevel[n]:
Historical note: this node was originally created to accommodate
the level-of-detail (lod) feature; hence the confusing names and
references to "lod".
Examples:
polyCube; move -r 2 0 0;
polyCone; move -r 4 0 0;
polySphere; move -r 6 0 0;
polyCylinder; move -r 8 0 0;
createNode chooser;
connectAttr chooser1.output[0] pCube1.visibility;
connectAttr chooser1.output[1] pCone1.visibility;
connectAttr chooser1.output[2] pSphere1.visibility;
connectAttr chooser1.output[3] pCylinder1.visibility;
int $num = `getAttr -size chooser1.output`;
/*
Initialize this multi attribute to match the output attribute
Initialize to 0 means the input attr will be passed to the output
*/
for( $i = 0 ; $i < $num; $i ++ ) {
setAttr chooser1.displayLevel[$i] 0;
}
/*
Make all objects visible by setting the inLevel attribute.
*/
for( $i = 0 ; $i < $num; $i ++ ) {
setAttr chooser1.inLevel[$i] 1;
}
/*
Make all objects invisible
*/
for( $i = 0 ; $i < $num; $i ++ ) {
setAttr chooser1.inLevel[$i] 0;
}
/*
Make every other object invisible
*/
for( $i = 0 ; $i < $num; $i ++ ) {
if( $i % 2 == 0 )
setAttr chooser1.inLevel[$i] 0;
else
setAttr chooser1.inLevel[$i] 1;
}
Node name | Parents | Classification | MFn type | Compatible function sets |
---|---|---|---|---|
chooser | node | utility/scalar | kChooser | kBase kNamedObject kDependencyNode kChooser |
plusMinusAverage, reverse, vectorProduct, choice, blend, blendTwoAttr, blendWeighted, blendDevice
Long name (short name) | Type | Default | Flags | ||
---|---|---|---|---|---|
inLevel
(il )
| bool | false | |||
displayLevel
(dl )
| enum | 0 | |||
output
(o )
| bool | false | |||